package com.pfsoft.data.structure.collections;/**
 * HashMap的demo
 *  HashMap不是线程安全的。同HashTable一样，底层的实现原理都是数组+链表。数组作为主体，链表主要是为了散列冲突时用的。
 * @author PF
 * Created by dell on 2017/8/17.
 */

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * com.pfsoft.practices.collections
 * HashMap的demo
 *
 * @author PF
 * @create 2017-08-17 11:04
 **/
public class HashMapDemo {
/*
    transient Entry<K, V>[] table = (Entry<K, V>[]) EMPTY_TABLE;
    public void test() {
}
*/

    public void test(){
        //实际上是Collections定义了一个SynchronizedMap的内部类，这个类实现了Map接口，在调用方法时使用synchronized来保证线程同步,当然了实际上操作的还是我们传入的HashMap实例，简单的说就是Collections.synchronizedMap()方法帮我们在操作HashMap时自动添加了synchronized来实现线程同步
        Map<Object, Object> objectObjectMap = Collections.synchronizedMap(new HashMap<Object, Object>());

    }
}
